package com.baizhi.exceptionx;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * finally块
 *  finally是异常处理机制最后一块，它可以直接跟在try之后，或者最后一个catch之后，
 *  finally可以保证程序执行到try语句块中，无论try块中的代码是否发生异常，finally块中的代码都一定执行
 *  因为finally必定执行，所以需要释放资源的代码一般我们放在finally块中
 *
 *  快捷键： Ctrl + Alt + t
 */
public class ExceptionDemo4 {

    public static void main(String[] args) {
        System.out.println("程序开始了");

        FileOutputStream fos = null;

        try {
            fos = new FileOutputStream("E:/demo.text");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {

            try {
                if(fos!= null){
                    System.out.println("fos关闭了");
                    fos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }


        System.out.println("程序结束了");
    }
}
